package com.cmyshare.design.prototypePattern;

/**
 * @version 1.0
 * @Author cmy
 * @Date 2023/10/12 17:13
 * @desc 3、测试类
 */
public class ClientTest {
    /**
     * 原型模式：用原型实例指定创建对象的种类，并且通过拷贝这些原型创建新的对象。
     * @param args
     */
    public static void main(String[] args) {
        //ConcretePrototype通过name构建原型子类，向上转型为原型类Prototype
        Prototype pro = new ConcretePrototype("prototype");
        //调用原型类Prototype下clone方法复制对象
        Prototype proClone = (Prototype)pro.clone();
        //输出对象结果
        System.out.println(pro.getName());
        System.out.println(proClone.getName());
    }
}
